#include <iostream>
#include <fstream>
#include <ctime>

using namespace std;

void bubbleSort(int list[], int listLength) {
	while (listLength--) {
		bool swapped = false;
		for (int i = 0; i < listLength; i++) {
			if (list[i] > list[i + 1]) {
				swap(list[i], list[i + 1]);
				swapped = true;
			}
		}
		if (swapped == false) break;
	}
}

void read_from_file(const char* filename, int a[], int length) {
	ifstream file(filename);
	for (int i = 0; i < length; i++)
		file >> a[i];
}


int main() {
	#define LEN 5000
	int a[LEN];

	read_from_file("m1_sorted.txt", a, LEN);
	unsigned int t_start = clock();
	bubbleSort(a, LEN);
	unsigned int t_finish = clock();
	unsigned int t_work = t_finish - t_start;
	cout << "m1_sorted " << t_work << " milliseconds \n";
	read_from_file("m2_reverse.txt", a, LEN);
	t_start = clock();
	bubbleSort(a, LEN);
	t_finish = clock();
	t_work = t_finish - t_work;
	cout << "m2_reverse " << t_work << " milliseconds \n";
	read_from_file("m3_shuffle.txt", a, LEN);
	t_start = clock();
	bubbleSort(a, LEN);
	t_finish = clock();
	t_work = t_finish - t_work;
	cout << "m3_shuffle " << t_work << " milliseconds \n";


}
